package com.ibeetl.cms.web.query2;

import com.ibeetl.admin.core.annotation.Query;
import com.ibeetl.admin.core.util.Tool;
import com.ibeetl.admin.core.web.query.PageParam;
import org.apache.commons.lang3.StringUtils;

import java.util.Date;
import java.util.List;

/**
 *BuyHouseSubsidies查询
 * 购房补贴
 */
public class BuyHouseSubsidiesQueryCompany extends PageParam {
    @Query(name = "Id", display = false)
    private Integer id;
    @Query(name = "企业id", display = false)
    private Long companyId;
    @Query(name = "申报人id", display = false)
    private Long declareUserId;

    @Query(name = "年度", display = true)
    private String year ;
    @Query(name = "业务状态", display = true,type=Query.TYPE_DICT,dict="businessState3",group="businessState3")
    private String businessStateCode ;

    @Query(name = "创建时间", display = false, type= Query.TYPE_DATE_BETWEEN)
    private String creationDate ;
    private Date createDateMin;
    private Date createDateMax;

    @Query(name = "上报日期", display = true, type= Query.TYPE_DATE_BETWEEN)
    private String declareTime ;
    private Date declareTimeMin;
    private Date declareTimeMax;

    @Query(name = "证件号码:", display = true)
    private String identificationNumber ;

    @Query(name = "申报补贴年次", type= Query.TYPE_DICT, display = true, dict="declareYear")
    private String declareYear;

    @Query(name = "姓名", display = true, fuzzy = true)
    private String name;

    @Query(name = "统一社会信用代码", display = false)
    private String organizationCode ;

    @Query(name = "企业名称", display = false)
    private String enterprisName ;

    private List<String> ids;

    //流程类型
    private String businessType;

    public String getBusinessType() {
        return businessType;
    }

    public void setBusinessType(String businessType) {
        this.businessType = businessType;
    }
    public List<String> getIds() {
        return ids;
    }

    public void setIds(List<String> ids) {
        this.ids = ids;
    }

    public Long getProcessUserId() {
        return processUserId;
    }

    public void setProcessUserId(Long processUserId) {
        this.processUserId = processUserId;
    }

    private Long processUserId;

    public String getYear() {
        return year;
    }

    public void setYear(String year) {
        this.year = year;
    }

    public String getBusinessStateCode() {
        return businessStateCode;
    }

    public void setBusinessStateCode(String businessStateCode) {
        this.businessStateCode = businessStateCode;
    }

    public Integer getId(){
        return  id;
    }
    public void setId(Integer id ){
        this.id = id;
    }
    public Long getCompanyId(){
        return companyId;
    }
    public void setCompanyId(Long companyId){
        this.companyId = companyId;
    }
    public Long getDeclareUserId(){
        return  declareUserId;
    }
    public void setDeclareUserId(Long declareUserId ){
        this.declareUserId = declareUserId;
    }

    public String getCreationDate() {
        return creationDate;
    }

    public void setCreationDate(String creationDate) {
        this.creationDate = creationDate;
        if(StringUtils.isEmpty(creationDate)) {
            return ;
        }
        Date[] ds = Tool.parseDataRange(creationDate);
        this.createDateMin=ds[0];
        this.createDateMax =ds[1];
    }

    public Date getCreateDateMin() {
        return createDateMin;
    }

    public void setCreateDateMin(Date createDateMin) {
        this.createDateMin = createDateMin;
    }

    public Date getCreateDateMax() {
        return createDateMax;
    }

    public void setCreateDateMax(Date createDateMax) {
        this.createDateMax = createDateMax;
    }

    public String getDeclareYear() {
        return declareYear;
    }

    public void setDeclareYear(String declareYear) {
        this.declareYear = declareYear;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDeclareTime() {
        return declareTime;
    }

    public void setDeclareTime(String declareTime) {
        this.declareTime = declareTime;
        if(StringUtils.isEmpty(declareTime)) {
            return ;
        }
        Date[] ds = Tool.parseDataRange(declareTime);
        this.declareTimeMin=ds[0];
        this.declareTimeMax =ds[1];
    }

    public Date getDeclareTimeMin() {
        return declareTimeMin;
    }

    public Date getDeclareTimeMax() {
        return declareTimeMax;
    }

    public void setDeclareTimeMax(Date declareTimeMax) {
        this.declareTimeMax = declareTimeMax;
    }

    public void setDeclareTimeMin(Date declareTimeMin) {
        this.declareTimeMin = declareTimeMin;
    }

    public String getIdentificationNumber() {
        return identificationNumber;
    }

    public void setIdentificationNumber(String identificationNumber) {
        this.identificationNumber = identificationNumber;
    }

    public String getOrganizationCode() {
        return organizationCode;
    }

    public void setOrganizationCode(String organizationCode) {
        this.organizationCode = organizationCode;
    }

    public String getEnterprisName() {
        return enterprisName;
    }

    public void setEnterprisName(String enterprisName) {
        this.enterprisName = enterprisName;
    }

    private String externalTaskId;

    public String getExternalTaskId() {
        return externalTaskId;
    }

    public void setExternalTaskId(String externalTaskId) {
        this.externalTaskId = externalTaskId;
    }
}
